#include "calclayoutwidget.h"
#include "ui_calclayoutwidget.h"

calclayoutwidget::calclayoutwidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::calclayoutwidget)
{
    ui->setupUi(this);

    //获取控件字体
    QFont font = this->font();
    font.setPixelSize(16);
    //设置字体
    this->setFont(font);

    //按钮上的文本
    QString str = "abcdefgh789+456-123*0./=";

    //垂直布局管理器
    vbox = new QVBoxLayout(this);
    //设置布局管理器控件间的间隙
    vbox->setSpacing(0);

    //设置边距
    //vbox->setMargin(0);
    vbox->setContentsMargins(0,10,0,0);//左上右下

    //创建一个输入框放入vbox中
    edit = new QLineEdit();

    //设置最大最小高度均为80，即固定高度
    edit->setMinimumHeight(80);
    edit->setMaximumHeight(80);

    //设置文本显示位置为右边
    edit->setAlignment(Qt::AlignRight);

    //把输入框放入垂直布局管理器中
    vbox->addWidget(edit);

    //创建栅格布局管理器
    grid = new QGridLayout();

    //设置布局管理器控件间的间隙
    grid->setSpacing(0);

    //创建24个按钮并且放入栅格布局管理器中
    button = new QPushButton[24];

    for(int i = 0;i<6;i++){
        for(int j = 0;j<4;j++){
            //将str中存入的文本显示到按钮上
            button[i*4+j].setText(str.at(i*4+j));

            //设置策略  铺满
            button[i*4+j].setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);

            //添加按钮到栅格布局管理器中
            grid->addWidget(&button[i*4+j],i,j);
        }
    }

    //把栅格布局管理器grid添加到vbox中
    vbox->addLayout(grid);


}

calclayoutwidget::~calclayoutwidget()
{
    delete ui;
}
